package com.ruoyi.project.shortUrl.url.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.text.Convert;
import com.ruoyi.framework.config.ServerConfig;
import com.ruoyi.project.shortUrl.url.domain.DomainOfShortUrl;
import com.ruoyi.project.shortUrl.url.mapper.DomainOfShortUrlMapper;
import com.ruoyi.project.shortUrl.url.service.IDomainOfShortUrlService;

/**
 * 短链接域名Service业务层处理
 * 
 * @author ruoyi
 * @date 2020-04-05
 */
@Service
public class DomainOfShortUrlServiceImpl implements IDomainOfShortUrlService 
{
	@Autowired
	private ServerConfig serverConfig;
    @Autowired
    private DomainOfShortUrlMapper domainOfShortUrlMapper;

    /**
     * 查询短链接域名
     * 
     * @param id 短链接域名ID
     * @return 短链接域名
     */
    @Override
    public DomainOfShortUrl selectDomainOfShortUrlById(Long id)
    {
        return domainOfShortUrlMapper.selectDomainOfShortUrlById(id);
    }

    /**
     * 查询短链接域名列表
     * 
     * @param domainOfShortUrl 短链接域名
     * @return 短链接域名
     */
    @Override
    public List<DomainOfShortUrl> selectList(DomainOfShortUrl domainOfShortUrl)
    {
        return domainOfShortUrlMapper.selectDomainOfShortUrlList(domainOfShortUrl);
    }

    /**
     * 新增短链接域名
     * 
     * @param domainOfShortUrl 短链接域名
     * @return 结果
     */
    @Override
    public int insertDomainOfShortUrl(DomainOfShortUrl domainOfShortUrl)
    {
    	domainOfShortUrl.setCreated(DateUtils.getNowDate().getTime());
        return domainOfShortUrlMapper.insertDomainOfShortUrl(domainOfShortUrl);
    }

    /**
     * 修改短链接域名
     * 
     * @param domainOfShortUrl 短链接域名
     * @return 结果
     */
    @Override
    public int updateDomainOfShortUrl(DomainOfShortUrl domainOfShortUrl)
    {
        return domainOfShortUrlMapper.updateDomainOfShortUrl(domainOfShortUrl);
    }

    /**
     * 删除短链接域名对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteDomainOfShortUrlByIds(String ids)
    {
        return domainOfShortUrlMapper.deleteDomainOfShortUrlByIds(Convert.toStrArray(ids));
    }

    /**
     * 删除短链接域名信息
     * 
     * @param id 短链接域名ID
     * @return 结果
     */
    @Override
    public int deleteDomainOfShortUrlById(Long id)
    {
        return domainOfShortUrlMapper.deleteDomainOfShortUrlById(id);
    }
	
	@Override
	public DomainOfShortUrl selectRadom() {
		DomainOfShortUrl radom = domainOfShortUrlMapper.selectRadom();
		if(radom==null) {
    		DomainOfShortUrl url = new DomainOfShortUrl();
    		url.setDomain(serverConfig.getUrl());
    		radom = url;
    	}
		
		return radom;
	}

	@Override
	public int selectDomainUnique(String domain) {
		return domainOfShortUrlMapper.selectDomainUnique(domain);
	}
}